Questa guida offre un approccio pratico per implementare un'applicazione che utilizza le chiamate di funzione con Gemma. Questa tecnica può essere applicata a varie versioni del modello Gemma tramite un'attenta progettazione dei prompt. Puoi trovare ulteriori informazioni in Beyond the Chatbot: Agentic AI with Gemma.
Chiamate di funzione spiegate
La struttura comune per le chiamate di funzione prevede alcuni componenti chiave, progettati per consentire a Gemma di interagire con API o strumenti esterni.
Descrivi gli strumenti
Indica al modello gli "strumenti" (funzioni) che può utilizzare. È incluso quanto segue:- Descrizione della funzionalità dello strumento
- Quali informazioni sono necessarie per lo strumento (parametri)
L'utente pone una domanda
Poni una domanda al modello o fornisci un'attivitàGemma decide
Il modello capisce se ha bisogno di uno strumento per rispondere alla tua domanda.Gemma richiede uno strumento
Se è necessario uno strumento, Gemma genererà un codice con riga iniziale ```tool_code```Lo strumento fa il suo lavoro
Lo strumento (funzione) prende le informazioni dal modello e fa ciò che deve fare.Lo strumento restituisce risultati
Gemma si aspetta di ricevere il risultato racchiuso in ```tool_output```Gemma dà la risposta finale
Il modello utilizza i risultati dello strumento per creare una risposta completa e accurata per te.
Suggerimenti utili
- Schema JSON: l'utilizzo dello schema JSON per le definizioni dei parametri, sebbene non sia obbligatorio, offre i vantaggi di una struttura coerente e della convalida automatica.
- Comprensione chiara: la qualità della descrizione della funzione è fondamentale per consentire al modello di identificare correttamente quando utilizzarla.
- Gestione degli errori: una gestione degli errori efficace è essenziale per gestire i casi in cui la chiamata della funzione non va a buon fine o restituisce risultati imprevisti.
- Procedura iterativa: a volte sono presenti più turni di conversazione tra il modello e le chiamate di funzione.
Prompt e output di esempio
Puoi trovare il codice di questa applicazione nel repository del codice di Gemma Cookbook.
Passaggi 1 e 2: descrivi lo strumento e fornisci un'attività
Input: un'immagine divertente di un gatto
Input di testo:
If you decide to invoke any of the function(s), it should be wrapped with ```tool_code```.
You have access to the following tools.
* `generate_meme(image, top_text, middle_text, bottom_text)`: Generate a meme with the given parameters
Make a funny meme with this. "meme.jpg"
Passaggio 3: Gemma decide e richiede uno strumento
Questo prompt produrrà la seguente risposta:
Okay, here's a funny meme based on the image of the surprised cat: ```tool_code generate_meme(image="meme.jpg", top_text="Me when I hear a creak", middle_text="Is it safe?", bottom_text="Probably not.") ```
Passaggio 4: lo strumento svolge la sua funzione
Elaborerai l'output del modello individuando i blocchi di codice, analizzando gli argomenti della funzione ed eseguendo le funzioni.